Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
最近更新された r7rs-benchmarks の結果で、
cpstak と parsing のタイムアウト(5分以上)が発生していたため調べました。
情報元:
https://ecraven.github.io/r7rs-benchmarks/
ひとつ前の結果:
https://web.archive.org/web/20221104225919/https://ecraven.github.io/r7rs-benchmarks/
自分の環境 (Windows) で確認したところ、
Gauche 0.9.14 と 0.9.15 とでは、実行時間が以下のように増加していました。
このため、git bisect で、0.9.15 と 0.9.14 の間を確認したところ、
次のコミットが見つかりました。
89d270c
( Explicitly start marker threads )
変更箇所をコメントアウトしたところ、以下のように改善しました。
<補足情報>
https://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3AGC
の下の方に、過去の GC の設定の情報があります。(古いですが…)
そこに、THREAD_LOCAL_ALLOC を設定すると、シングルスレッドアプリケーションでは、
20%程度速度が低下したというような記述があります。
別の情報として、事前に
を実行すると、変更箇所のコメントアウト前の実行時間は、
に減少しました。また、変更箇所のコメントアウト後の実行時間は、
に減少しました。
これは以前、
Gauche-r7rs-bench-GM
で調べた結果に近くなっています。
ただ、メモリを消費するし、効果があるプログラムは一部だけのようでした。